//
//  MainViewController.swift
//  hyjxweibo
//
//  Created by 姜永永 on 16/7/22.
//  Copyright © 2016年 com.primecocn. All rights reserved.
//

import UIKit

class MainViewController: UITabBarController {
    /*
      // 通过类方法创建设置按钮的背景图片和图片
      private lazy var composeButton : UIButton = UIButton.creatNewButton("tabbar_compose_icon_add", bgImageName: "tabbar_compose_button")
    */
    
    //调用便利构造函数进行按钮的创建
    private lazy var composeButton : UIButton = UIButton(imagName: "tabbar_compose_icon_add", bgImageName: "tabbar_compose_button")
    
    override func viewDidLoad() {
        super.viewDidLoad()
       
        //创建添加按钮
        addComposeButton()
        //事件监听，事件的写法：#selector(fileNmae.func)
        composeButton.addTarget(self, action: #selector(MainViewController.composeButtonClick), forControlEvents: .TouchUpInside)
        
    }

    

}
// Mark:- 创建UI
extension MainViewController {
    
   private func addComposeButton() {
        tabBar.addSubview(composeButton)
        composeButton.center = CGPointMake(tabBar.bounds.width * 0.5, tabBar.bounds.height * 0.5)
    }
    
}

// MARK:- 事件的监听
extension MainViewController {
    //事件监听本质是发送消息，但是发送消息是OC的特性
    //将方法包装成@SEL--> 类中查找方法列表 --> 根据@SEL找到imp指针(函数指针)-->执行函数
    //如果swift中将一个函数声明称private，那么该函数不会被添加到方法列表中
    //如果在private前面加上@objc,那么该方法就会被加到方法列表中
    @objc private func composeButtonClick()  {
        print("按钮点击")
    }
    
}




